package la.iok.hzsvn.lewin.movie.shopmovie.model;

import la.iok.hzsvn.share.annotations.Nullable;

import java.util.Objects;

public class ShopMovieListParam {
    /**
     * 店铺id.如果有值则查询指定店铺的剧本，如果没值,则不以店铺过滤
     */
    @Nullable
    private Long orgUnitId;
    @Nullable
    private String name;
    @Nullable
    private String author;
    @Nullable
    private String tag;
    @Nullable
    private Integer minPlayers;
    @Nullable
    private Integer maxPlayers;
    @Nullable
    private Integer minDuration;
    @Nullable
    private Integer maxDuration;
    @Nullable
    private Integer status;
    /**
     * 剧本级别名称过滤，模糊查询
     */
    private String movieLevelName;

    public Long getOrgUnitId() {
        return orgUnitId;
    }

    public void setOrgUnitId(Long orgUnitId) {
        this.orgUnitId = orgUnitId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag;
    }

    public Integer getMinPlayers() {
        return minPlayers;
    }

    public void setMinPlayers(Integer minPlayers) {
        this.minPlayers = minPlayers;
    }

    public Integer getMaxPlayers() {
        return maxPlayers;
    }

    public void setMaxPlayers(Integer maxPlayers) {
        this.maxPlayers = maxPlayers;
    }

    public Integer getMinDuration() {
        return minDuration;
    }

    public void setMinDuration(Integer minDuration) {
        this.minDuration = minDuration;
    }

    public Integer getMaxDuration() {
        return maxDuration;
    }

    public void setMaxDuration(Integer maxDuration) {
        this.maxDuration = maxDuration;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getMovieLevelName() {
        return movieLevelName;
    }

    public void setMovieLevelName(String movieLevelName) {
        this.movieLevelName = movieLevelName;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof ShopMovieListParam)) return false;
        ShopMovieListParam listParam = (ShopMovieListParam) o;
        return Objects.equals(orgUnitId, listParam.orgUnitId) && Objects.equals(name, listParam.name) && Objects.equals(author, listParam.author) && Objects.equals(tag, listParam.tag) && Objects.equals(minPlayers, listParam.minPlayers) && Objects.equals(maxPlayers, listParam.maxPlayers) && Objects.equals(minDuration, listParam.minDuration) && Objects.equals(maxDuration, listParam.maxDuration) && Objects.equals(status, listParam.status);
    }

    @Override
    public int hashCode() {
        return Objects.hash(orgUnitId, name, author, tag, minPlayers, maxPlayers, minDuration, maxDuration, status);
    }
}
